package br.ufrn.sigtcc.controller.services;

import java.util.List;

import br.ufrn.sigtcc.controller.services.interfaces.IAlunoService;
import br.ufrn.sigtcc.data.DAOAlunoImpl;
import br.ufrn.sigtcc.data.interfaces.IDAOAluno;
import br.ufrn.sigtcc.model.entidades.Aluno;
import br.ufrn.sigtcc.model.entidades.PropostaTCC;
import br.ufrn.sigtcc.model.entidades.PropostaTema;
import br.ufrn.sigtcc.util.exceptions.BDException;
import br.ufrn.sigtcc.util.exceptions.BusinessException;
import br.ufrn.sigtcc.util.specification.entidades.AlunoSpecification;


//@Stateful
public class AlunoServiceImpl implements IAlunoService{
	
//	@EJB
	private IDAOAluno daoAluno =  new DAOAlunoImpl();;
	
	
	public AlunoServiceImpl() {
		
	}
	
	@Override
	public void cadastrarAluno(Aluno aluno) throws BDException, BusinessException{
		AlunoSpecification SPF = new AlunoSpecification();
		
		SPF.isSatisfiedBy(aluno);
		this.daoAluno.cadastrarAluno(aluno);
	}
	
	@Override
	public void removerAluno(Aluno aluno) throws BDException, BusinessException{
		this.daoAluno.removerAluno(aluno);
	}
	
	@Override
	public void atualizarAluno(Aluno aluno) throws BDException, BusinessException{
		this.daoAluno.atualizarAluno(aluno);
	}


	@Override
	public List<PropostaTema> listarPropostasTemas() throws BDException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<PropostaTCC> listarPropostasTCCs() throws BDException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Aluno> listarAlunos() throws BDException {
		// TODO Auto-generated method stub
		return this.daoAluno.findAll();
	}

	
}
